#pragma once

#include <gexpl_usbfs_diepint.h>
#include <gofcl_usbfs_diepintf.h>
#include <gofcl_usbfs_ep_r.h>

static inline void usbfs_clear_dev_in_int_flags(usbfs_ep_rre ep_rr,
						usbfs_diepint_expl_s depintf) {
	union {
		usbfs_diepint_expl_s e;
		usbfs_diepint_s d;
	} du = {
		.e = depintf,
	};
	usbfs_wreg_diepintf_s(ep_rr, du.d);
}

static inline usbfs_diepint_expl_s
usbfs_get_dev_in_int_flags(usbfs_ep_rre ep_rr) {
	union {
		usbfs_diepint_expl_s e;
		usbfs_diepint_s d;
	} du = {
		.d = usbfs_rreg_diepintf_s(ep_rr),
	};
	return du.e;
}
